home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / DJGPP / BCCGRX12.ZIP / contrib / bcc2grx / src / bccgrx04.c < prev    next >
C/C++ Source or Header  |  1993-05-21  |  1KB  |  47 lines

  1. /*
  2.  *  BCC2GRX  -  Interfacing Borland based graphics programs to LIBGRX
  3.  *  Copyright (C) 1993  Hartmut Schirmer
  4.  *
  5.  *  see bccgrx.c for details
  6.  */
  7.  
  8. #include "bccgrx00.h"
  9.  
  10. /* ----------------------------------------------------------------- */
  11. void getimage(int left, int top, int right, int bottom, void *bitmap)
  12. {
  13.   GrContext *gc;
  14.   char      *memory;
  15.  
  16.   _DO_INIT_CHECK;
  17.   GrSetContext(NULL);
  18.   GrResetClipBox();
  19.   gc = bitmap;
  20.   memory = ((char *)bitmap) + sizeof(GrContext);
  21.   GrCreateContext( right-left+1, bottom-top+1, memory, gc);
  22.   GrBitBlt( gc, 0, 0, NULL, left+VL, top+VT, right+VL, bottom+VT, GrWRITE);
  23.   __gr_Reset_ClipBox();
  24. }
  25.  
  26. /* ----------------------------------------------------------------- */
  27. void putimage(int left, int top, void *bitmap, int op)
  28. {
  29.   GrContext *gc;
  30.  
  31.   _DO_INIT_CHECK;
  32.   GrSetContext(NULL);
  33.   GrResetClipBox();
  34.   gc = bitmap;
  35.   GrBitBlt( NULL, left+VL, top+VT, gc, 0, 0, gc->gc_xmax, gc->gc_ymax, op);
  36.   __gr_Reset_ClipBox();
  37. }
  38.  
  39. /* ----------------------------------------------------------------- */
  40. unsigned imagesize(int left, int top, int right, int bottom)
  41. {
  42.   _DO_INIT_CHECK_RV(0);
  43.   return  sizeof(GrContext)
  44.     + GrContextSize( __ABS(right-left)+1, __ABS(bottom-top)+1);
  45. }
  46.  
  47.